package com.yyw.foodie.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yyw.foodie.bo.orders.CommentsOrderItemBo;
import com.yyw.foodie.pojo.ItemsCommentsEntity;
import com.yyw.foodie.utils.PagedGridResult;
import com.yyw.foodie.vo.CommentLevelVo;

import java.util.List;

/**
 * <p>
 * 商品评价表  服务类
 * </p>
 *
 * @author yiyw
 * @since 2021-05-22
 */
public interface ItemsCommentsService extends IService<ItemsCommentsEntity> {

    /**
     * 根据商品ID获取评价数量 （好、中、差）
     * @param itemId    商品ID
     * @return
     */
    CommentLevelVo getCommentLevelByItemId(String itemId);

    /**
     * 根据商品ID获取评价，分页
     * @param itemId    商品ID
     * @param level     商品等级
     * @param pageSize  显示条数
     * @param page      当前页
     * @return
     */
    PagedGridResult getCommentPageByItemId(String itemId, Integer level, Integer pageSize, Integer page);

    /**
     * 批量保存评价信息
     * @param commentsOrderItemBoList   保存评价信息
     * @param orderId
     * @param userId
     */
    void saveComments(List<CommentsOrderItemBo> commentsOrderItemBoList, String orderId, String userId);

    /**
     * 用户中心查看我的全部评价
     * @param userId
     * @param page
     * @param pageSize
     * @return
     */
    PagedGridResult getCommentInfoByPage(String userId, Integer page, Integer pageSize);
}
